home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / PWAEF22.ZIP / EFLAG.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-05-11  |  11KB  |  923 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     Boolean  BOOLEAN006
  25.     Boolean  BOOLEAN007
  26.     Boolean  BOOLEAN011
  27.     Boolean  BOOLEAN012
  28.     String   STRING001
  29.     String   STRING002
  30.     String   STRING003
  31.     String   STRING004
  32.     String   STRING005
  33.     String   STRING006
  34.     String   TSTRING007(1)
  35.     String   TSTRING008(1)
  36.     String   TSTRING009(1)
  37.     String   TSTRING010(1)
  38.     String   STRING011
  39.     String   TSTRING012(1)
  40.     String   TSTRING013(1)
  41.     String   TSTRING014(1)
  42.     String   TSTRING015(1)
  43.     String   STRING016
  44.     String   TSTRING017(1)
  45.     String   STRING018
  46.     String   STRING019
  47.     String   STRING021
  48.     String   STRING024
  49.     String   STRING025
  50.     String   STRING026
  51.     String   STRING027
  52.     String   STRING028
  53.     String   STRING029
  54.     String   STRING034
  55.     String   STRING035
  56.     Byte     TBYTE001(1)
  57.     Byte     BYTE002
  58.     Byte     BYTE003
  59.     Byte     TBYTE004(1)
  60.     Byte     BYTE005
  61.     Byte     BYTE006
  62.     Byte     BYTE007
  63.     Byte     BYTE008
  64.     Byte     BYTE009
  65.     Byte     BYTE010
  66.     Byte     BYTE011
  67.     Byte     BYTE012
  68.     Byte     BYTE013
  69.     Byte     BYTE014
  70.     Byte     BYTE015
  71.     Byte     BYTE016
  72.     Byte     BYTE017
  73.     Byte     BYTE021
  74.     Byte     BYTE024
  75.     Byte     BYTE026
  76.     Byte     BYTE027
  77.     Byte     BYTE028
  78.     Byte     BYTE030
  79.     Int      INT004
  80.     Declare  Function FUNCTION001() String
  81.     Declare  Function FUNCTION002() String
  82.     Declare  Function FUNCTION003() Boolean
  83.     Declare  Procedure PROC001()
  84.     Declare  Procedure PROC002()
  85.     Declare  Procedure PROC003()
  86.     Declare  Procedure PROC004()
  87.     Declare  Procedure PROC005()
  88.     Declare  Procedure PROC006(Int INT001, Int INT002, Int INT003)
  89.     Declare  Procedure PROC007()
  90.     Declare  Procedure PROC008(String STRING020)
  91.     Declare  Procedure PROC009()
  92.     Declare  Procedure PROC010(Byte BYTE022, Byte BYTE023, String STRING023, Var Boolean BOOLEAN010)
  93.     Declare  Procedure PROC011(Byte BYTE018, Var Byte BYTE019, Var Byte BYTE020, Var Boolean BOOLEAN008, String STRING022, Var Boolean BOOLEAN009)
  94.     Declare  Procedure PROC012()
  95.     Declare  Procedure PROC013()
  96.     Declare  Procedure PROC014(Boolean BOOLEAN013, Byte BYTE029)
  97.  
  98. ;------------------------------------------------------------------------------
  99.  
  100.     PROC001()
  101.     PROC004()
  102.     PROC005()
  103.     End
  104.  
  105. ;------------------------------------------------------------------------------
  106.  
  107.     Procedure PROC005()
  108.  
  109.     Byte     BYTE012
  110.     Byte     BYTE013
  111.     Byte     BYTE014
  112.     String   STRING019
  113.     Boolean  BOOLEAN004
  114.     Boolean  BOOLEAN005
  115.  
  116.     PROC002()
  117.     STRING019 = ""
  118.     BYTE012 = 1
  119.     BYTE013 = 1
  120.     PROC006(1, BYTE012, BYTE013)
  121.     BOOLEAN004 = 0
  122.     :LABEL001
  123.     If (BOOLEAN004) Goto LABEL005
  124.     Delay BYTE008
  125.     BYTE014 = Asc(Inkey())
  126.     Select Case (BYTE014)
  127.         Case 82, 54, 62, 93
  128.             BYTE013 = BYTE012
  129.             Inc BYTE012
  130.             If (BYTE012 > BYTE003) BYTE012 = 1
  131.             PROC006(1, BYTE012, BYTE013)
  132.         Case 76, 52, 9, 60, 91
  133.             BYTE013 = BYTE012
  134.             Dec BYTE012
  135.             If (BYTE012 < 1) BYTE012 = BYTE003
  136.             PROC006(1, BYTE012, BYTE013)
  137.         Case 85, 56
  138.             BYTE010 = GetY()
  139.             BYTE011 = BYTE010
  140.             STRING019 = FUNCTION001()
  141.             If (STRING019 <> "") Then
  142.                 PROC008(STRING019)
  143.                 If (!BOOLEAN003 && !BOOLEAN004) Then
  144.                     Print Chr(27) + "[u"
  145.                     ClrEol
  146.                     Goto LABEL002
  147.                 Endif
  148.                 BOOLEAN003 = 0
  149.                 :LABEL002
  150.                 PROC002()
  151.             Endif
  152.             STRING019 = ""
  153.             BYTE012 = 1
  154.             BYTE013 = 1
  155.             PROC006(1, BYTE012, BYTE013)
  156.         Case 68, 50, 32
  157.             If ((BYTE014 == 32) && (BOOLEAN002 == 0)) Goto LABEL004
  158.             BYTE010 = GetY()
  159.             BYTE011 = 0
  160.             STRING019 = FUNCTION002()
  161.             If (STRING019 <> "") Then
  162.                 PROC008(STRING019)
  163.                 If (!BOOLEAN003 && !BOOLEAN004) Then
  164.                     Print Chr(27) + "[u"
  165.                     ClrEol
  166.                     Goto LABEL003
  167.                 Endif
  168.                 BOOLEAN003 = 0
  169.                 :LABEL003
  170.                 PROC002()
  171.             Endif
  172.             STRING019 = ""
  173.             BYTE012 = 1
  174.             BYTE013 = 1
  175.             PROC006(1, BYTE012, BYTE013)
  176.             :LABEL004
  177.         Case 33
  178.             PROC012()
  179.         Case 63
  180.             If (!BOOLEAN003 && !BOOLEAN004) Then
  181.                 PROC013()
  182.             Else
  183.                 BOOLEAN003 = 0
  184.             Endif
  185.         Case 13
  186.             PROC010(1, BYTE012, STRING019, BOOLEAN004)
  187.         Case 27
  188.             If (BOOLEAN001) Then
  189.                 Print Chr(27) + "[u"
  190.                 ClrEol
  191.                 KbdStuff "N"
  192.                 BOOLEAN004 = 1
  193.             Endif
  194.             PROC011(1, BYTE012, BYTE013, BOOLEAN004, Chr(BYTE014), BOOLEAN005)
  195.         Case BOOLEAN005
  196.             PROC006(1, BYTE012, BYTE013)
  197.             If (BOOLEAN001) PROC010(1, BYTE012, STRING019, BOOLEAN004)
  198.             BOOLEAN004 = BOOLEAN001
  199.     End Select
  200.     Goto LABEL001
  201.     :LABEL005
  202.  
  203.     EndProc
  204.  
  205.  
  206. ;------------------------------------------------------------------------------
  207.  
  208.     Procedure PROC008(String STRING020)
  209.  
  210.     Byte     BYTE015
  211.     Byte     BYTE016
  212.     Byte     BYTE017
  213.     String   STRING021
  214.     Boolean  BOOLEAN006
  215.     Boolean  BOOLEAN007
  216.  
  217.     BYTE015 = 1
  218.     BYTE016 = 1
  219.     PROC003()
  220.     PROC006(2, BYTE015, BYTE016)
  221.     BOOLEAN006 = 0
  222.     :LABEL006
  223.     If (BOOLEAN006) Goto LABEL008
  224.     Delay BYTE008
  225.     STRING021 = Inkey()
  226.     BYTE017 = Asc(STRING021)
  227.     Select Case (BYTE017)
  228.         Case 85, 56
  229.             PROC009()
  230.             STRING020 = FUNCTION001()
  231.             If (STRING020 == "") Then
  232.                 BOOLEAN006 = 1
  233.             Endif
  234.         Case 68, 50, 32
  235.             If ((BYTE017 == 32) && (BOOLEAN002 == 0)) Goto LABEL007
  236.             PROC009()
  237.             STRING020 = FUNCTION002()
  238.             If (STRING020 == "") Then
  239.                 BOOLEAN006 = 1
  240.             Endif
  241.             :LABEL007
  242.         Case 82, 54
  243.             BYTE016 = BYTE015
  244.             Inc BYTE015
  245.             If (BYTE015 > BYTE006) BYTE015 = 1
  246.             PROC006(2, BYTE015, BYTE016)
  247.         Case 76, 52
  248.             BYTE016 = BYTE015
  249.             Dec BYTE015
  250.             If (BYTE015 < 1) BYTE015 = BYTE006
  251.             PROC006(2, BYTE015, BYTE016)
  252.         Case 72
  253.             BYTE016 = BYTE015
  254.             BYTE015 = 1
  255.             PROC006(2, BYTE015, BYTE016)
  256.         Case 69
  257.             BYTE016 = BYTE015
  258.             BYTE015 = BYTE006
  259.             PROC006(2, BYTE015, BYTE016)
  260.         Case 27
  261.             If (BOOLEAN001) Then
  262.                 BOOLEAN006 = BOOLEAN001
  263.                 PROC009()
  264.                 Print Chr(27) + "[u"
  265.                 ClrEol
  266.             Endif
  267.         Case 33
  268.             PROC012()
  269.         Case 63
  270.             If (!BOOLEAN003 && !BOOLEAN006) Then
  271.                 PROC013()
  272.             Else
  273.                 BOOLEAN003 = 0
  274.             Endif
  275.         Case 13
  276.             PROC010(2, BYTE015, STRING020, BOOLEAN006)
  277.             PROC011(2, BYTE015, BYTE016, BOOLEAN006, STRING021, BOOLEAN007)
  278.         Case BOOLEAN007
  279.             PROC006(2, BYTE015, BYTE016)
  280.             If (BOOLEAN001) PROC010(2, BYTE015, STRING020, BOOLEAN006)
  281.             BOOLEAN006 = BOOLEAN001
  282.     End Select
  283.     Goto LABEL006
  284.     :LABEL008
  285.  
  286.     EndProc
  287.  
  288.  
  289. ;------------------------------------------------------------------------------
  290.  
  291.     Procedure PROC011(Byte BYTE018, Var Byte BYTE019, Var Byte BYTE020, Var Boolean BOOLEAN008, String STRING022, Var Boolean BOOLEAN009)
  292.  
  293.     Byte     BYTE021
  294.  
  295.     BYTE021 = 1
  296.     Select Case (BYTE018)
  297.         Case 1
  298.             :LABEL009
  299.             If (BOOLEAN008) Goto LABEL010
  300.             If (Lower(STRING022) == Lower(TSTRING009(BYTE021))) Then
  301.                 If ((Lower(TSTRING010(BYTE021)) == "nstop") && Exist(PPEPath() + "YESNO.CFG")) Then
  302.                     Print Chr(13)
  303.                     ClrEol
  304.                     Print Chr(13)
  305.                     If (FUNCTION003()) Then
  306.                         BYTE020 = BYTE019
  307.                         BYTE019 = BYTE021
  308.                         BOOLEAN008 = 1
  309.                         BOOLEAN009 = 1
  310.                         KbdStuff "NS"
  311.                     Else
  312.                         PROC002()
  313.                         PROC006(1, BYTE019, BYTE019)
  314.                         BOOLEAN008 = 0
  315.                         BOOLEAN009 = 0
  316.                         Goto LABEL010
  317.                     Endif
  318.                 Else
  319.                     BYTE020 = BYTE019
  320.                     BYTE019 = BYTE021
  321.                     BOOLEAN008 = 1
  322.                     BOOLEAN009 = 0
  323.                 Endif
  324.             Else
  325.                 Inc BYTE021
  326.                 If (BYTE021 > BYTE003) Goto LABEL010
  327.             Endif
  328.             Goto LABEL009
  329.             :LABEL010
  330.         Case 2
  331.             :LABEL011
  332.             If (BOOLEAN008) Goto LABEL013
  333.             If ((Asc(STRING022) == 27) && (TSTRING015(BYTE021) == "quit")) Then
  334.                 BYTE020 = BYTE019
  335.                 BYTE019 = BYTE021
  336.                 BOOLEAN008 = 1
  337.                 Goto LABEL012
  338.             Endif
  339.             If (Lower(STRING022) == Lower(TSTRING014(BYTE021))) Then
  340.                 BOOLEAN008 = 1
  341.                 BYTE020 = BYTE019
  342.                 BYTE019 = BYTE021
  343.                 Goto LABEL012
  344.             Endif
  345.             Inc BYTE021
  346.             If (BYTE021 > BYTE006) Goto LABEL013
  347.             :LABEL012
  348.             Goto LABEL011
  349.     End Select
  350.     :LABEL013
  351.  
  352.     EndProc
  353.  
  354.  
  355. ;------------------------------------------------------------------------------
  356.  
  357.     Procedure PROC010(Byte BYTE022, Byte BYTE023, String STRING023, Var Boolean BOOLEAN010)
  358.  
  359.     String   STRING024
  360.  
  361.     BOOLEAN010 = 1
  362.     Select Case (BYTE022)
  363.         Case 1
  364.             STRING024 = Lower(TSTRING010(BYTE023))
  365.             Print Chr(13)
  366.             ClrEol
  367.             Print Chr(13)
  368.             Select Case (STRING024)
  369.                 Case "cont"
  370.                     KbdStuff Chr(13)
  371.                 Case "flag"
  372.                     If (STRING023 <> "") Then
  373.                         KbdStuff "FL " + STRING023
  374.                     Else
  375.                         KbdStuff "FL"
  376.                     Endif
  377.                 Case "view"
  378.                     If (STRING023 <> "") Then
  379.                         KbdStuff "V " + STRING023
  380.                     Else
  381.                         KbdStuff "V"
  382.                     Endif
  383.                 Case "nstop"
  384.                     If (FUNCTION003()) Then
  385.                         KbdStuff "NS"
  386.                     Else
  387.                         PROC002()
  388.                         PROC006(1, BYTE023, BYTE023)
  389.                         BOOLEAN010 = 0
  390.                     Endif
  391.                 Case "stop"
  392.                     KbdStuff "N"
  393.                 Case Else
  394.                     SaveScrn
  395.                     DispStr STRING024
  396.                     BOOLEAN003 = 1
  397.             End Select
  398.         Case 2
  399.             STRING024 = Lower(TSTRING015(BYTE023))
  400.             If (STRING024 == "flag") Then
  401.                 PROC009()
  402.                 Print Chr(27) + "[u"
  403.                 ClrEol
  404.                 KbdStuff "FL " + STRING023
  405.                 End
  406.                 Goto LABEL014
  407.             Endif
  408.             If (STRING024 == "view") Then
  409.                 PROC009()
  410.                 Print Chr(27) + "[u"
  411.                 ClrEol
  412.                 KbdStuff "V " + STRING023
  413.                 SaveScrn
  414.                 End
  415.                 Goto LABEL014
  416.             Endif
  417.             If (STRING024 == "quit") Then
  418.                 PROC009()
  419.                 Print Chr(27) + "[u"
  420.                 ClrEol
  421.                 Goto LABEL014
  422.             Endif
  423.             PROC009()
  424.             Print Chr(27) + "[u"
  425.             ClrEol
  426.             SaveScrn
  427.             DispStr STRING024 + " " + STRING023
  428.             Print Chr(27) + "[u" + Chr(27) + "[" + String(U_PageLen - 1) + "A"
  429.             RestScrn
  430.             BOOLEAN003 = 1
  431.             StartDisp 0
  432.             StartDisp 2
  433.     End Select
  434.     :LABEL014
  435.  
  436.     EndProc
  437.  
  438.  
  439. ;------------------------------------------------------------------------------
  440.  
  441.     Procedure PROC009()
  442.  
  443.     Print Chr(27) + "[u" + Chr(27) + "[" + String(BYTE010 - BYTE009) + "A"
  444.     Print STRING018 + Chr(13)
  445.  
  446.     EndProc
  447.  
  448.  
  449. ;------------------------------------------------------------------------------
  450.  
  451.     Function FUNCTION001() String
  452.  
  453.     String   STRING026
  454.     String   STRING027
  455.  
  456.     STRING026 = ""
  457.     While (BYTE011 > 0) Do
  458.         Dec BYTE011
  459.         If (TSTRING017(BYTE011) <> "") Then
  460.             PROC007()
  461.             STRING026 = TSTRING017(BYTE011)
  462.             Break
  463.         Endif
  464.     EndWhile
  465.     FUNCTION001 = STRING026
  466.  
  467.     EndFunc
  468.  
  469.  
  470. ;------------------------------------------------------------------------------
  471.  
  472.     Function FUNCTION002() String
  473.  
  474.     String   STRING028
  475.     String   STRING029
  476.  
  477.     STRING028 = ""
  478.     While (BYTE011 < BYTE010) Do
  479.         Inc BYTE011
  480.         If (TSTRING017(BYTE011) <> "") Then
  481.             PROC007()
  482.             STRING028 = TSTRING017(BYTE011)
  483.             Break
  484.         Endif
  485.     EndWhile
  486.     FUNCTION002 = STRING028
  487.  
  488.     EndFunc
  489.  
  490.  
  491. ;------------------------------------------------------------------------------
  492.  
  493.     Procedure PROC007()
  494.  
  495.     Print Chr(27) + "[u" + Chr(27) + "[" + String(BYTE010 - BYTE011) + "A"
  496.     BYTE009 = BYTE011
  497.     STRING018 = ScrText(1, BYTE009, BYTE007, 1)
  498.     Print STRING016 + StripAtx(STRING018) + Chr(13)
  499.  
  500.     EndProc
  501.  
  502.  
  503. ;------------------------------------------------------------------------------
  504.  
  505.     Procedure PROC004()
  506.  
  507.     String   STRING029
  508.  
  509.     BYTE011 = 1
  510.     While (BYTE011 > 0) Do
  511.         ScrFile BYTE011, STRING029
  512.         If (BYTE011 <> 0) Then
  513.             TSTRING017(BYTE011) = STRING029
  514.             Inc BYTE011
  515.         Endif
  516.     EndWhile
  517.  
  518.     EndProc
  519.  
  520.  
  521. ;------------------------------------------------------------------------------
  522.  
  523.     Procedure PROC006(Int INT001, Int INT002, Int INT003)
  524.  
  525.     Print Chr(27) + "[u" + Chr(13)
  526.     If (INT001 == 1) Then
  527.         Forward TBYTE001(INT003) - 1
  528.         Print TSTRING007(INT003)
  529.     Else
  530.         Forward TBYTE004(INT003) - 1
  531.         Print TSTRING012(INT003)
  532.     Endif
  533.     Print Chr(13)
  534.     If (INT001 == 1) Then
  535.         Forward TBYTE001(INT002) - 1
  536.         Print TSTRING008(INT002)
  537.     Else
  538.         Forward TBYTE004(INT002) - 1
  539.         Print TSTRING013(INT002)
  540.     Endif
  541.  
  542.     EndProc
  543.  
  544.  
  545. ;------------------------------------------------------------------------------
  546.  
  547.     Procedure PROC003()
  548.  
  549.     Byte     BYTE024
  550.  
  551.     DefColor
  552.     Print Chr(27) + "[u" + Chr(13)
  553.     ClrEol
  554.     Print Chr(13) + Chr(27) + "[s"
  555.     Print STRING011
  556.     TBYTE004(1) = GetX()
  557.     For BYTE024 = 1 To BYTE006
  558.         Print TSTRING012(BYTE024) + Space(BYTE005)
  559.         TBYTE004(1 + BYTE024) = TBYTE004(BYTE024) + Len(StripAtx(TSTRING012(BYTE024)))
  560.     Next
  561.     ClrEol
  562.     DefColor
  563.  
  564.     EndProc
  565.  
  566.  
  567. ;------------------------------------------------------------------------------
  568.  
  569.     Procedure PROC002()
  570.  
  571.     Int      INT004
  572.  
  573.     Print Chr(27) + "[s"
  574.     Print STRING006
  575.     TBYTE001(1) = GetX()
  576.     For INT004 = 1 To BYTE003
  577.         TBYTE001(INT004 + 1) = TBYTE001(INT004) + Len(StripAtx(TSTRING007(INT004)))
  578.         Print TSTRING007(INT004) + Space(BYTE002)
  579.     Next
  580.  
  581.     EndProc
  582.  
  583.  
  584. ;------------------------------------------------------------------------------
  585.  
  586.     Procedure PROC001()
  587.  
  588.     String   STRING030
  589.     String   STRING031
  590.     String   STRING032
  591.     String   STRING033
  592.     Byte     BYTE025
  593.  
  594.     WrUNet PcbNode(), "Q", UN_Name(), UN_City(), "EFLAG: Viewing file dirs", " "
  595.     GetUser
  596.     If (U_PageLen) Goto LABEL015
  597.     End
  598.     Goto LABEL016
  599.     :LABEL015
  600.     Redim TSTRING017, U_PageLen + 1
  601.     :LABEL016
  602.     STRING030 = PPEPath() + "EFLAG.CFG"
  603.     STRING031 = PPEPath() + "PROMPT1.CFG"
  604.     STRING032 = PPEPath() + "PROMPT2.CFG"
  605.     If (Exist(STRING030)) Then
  606.         STRING016 = ReadLine(STRING030, 1)
  607.         BYTE007 = S2I(ReadLine(STRING030, 2), 10)
  608.         If (Lower(ReadLine(STRING030, 3)) == "yes") Then
  609.             BOOLEAN001 = 1
  610.         Else
  611.             BOOLEAN001 = 0
  612.         Endif
  613.         If (Lower(ReadLine(STRING030, 4)) == "yes") Then
  614.             BOOLEAN002 = 1
  615.         Else
  616.             BOOLEAN002 = 0
  617.         Endif
  618.         BYTE008 = S2I(ReadLine(STRING030, 5), 10)
  619.     Else
  620.         STRING016 = "@X4F"
  621.         BYTE007 = 79
  622.         BOOLEAN001 = 1
  623.         BOOLEAN002 = 0
  624.         BYTE008 = 1
  625.     Endif
  626.     If (Exist(STRING031)) Then
  627.         FOpen 1, STRING031, 0, 2
  628.         FDefIn 1
  629.         FDGet STRING006
  630.         FDGet STRING033
  631.         BYTE002 = S2I(STRING033, 10)
  632.         FDGet STRING033
  633.         BYTE003 = S2I(STRING033, 10)
  634.         If (BYTE003) Then
  635.             Redim TSTRING007, BYTE003 + 1
  636.             Redim TSTRING008, BYTE003 + 1
  637.             Redim TSTRING009, BYTE003 + 1
  638.             Redim TSTRING010, BYTE003 + 1
  639.             Redim TBYTE001, BYTE003 + 1
  640.             For BYTE025 = 1 To BYTE003
  641.                 FDGet TSTRING007(BYTE025)
  642.                 FDGet TSTRING008(BYTE025)
  643.                 FDGet TSTRING009(BYTE025)
  644.                 FDGet TSTRING010(BYTE025)
  645.             Next
  646.             FClose 1
  647.         Else
  648.             End
  649.         Endif
  650.     Else
  651.         STRING006 = "@X08-[@X0FEFLAG 2.11@X08]-[@X0F@MINLEFT@ @X07min left@X08] @X07"
  652.         BYTE002 = 0
  653.         BYTE003 = 5
  654.         Redim TSTRING007, 6
  655.         Redim TSTRING008, 6
  656.         Redim TSTRING009, 6
  657.         Redim TSTRING010, 6
  658.         Redim TBYTE001, 6
  659.         TSTRING007(1) = "@X08 Cont @X07"
  660.         TSTRING008(1) = "@X4F CONT @X07"
  661.         TSTRING009(1) = "C"
  662.         TSTRING010(1) = "cont"
  663.         TSTRING007(2) = "@X08 Flag @X07"
  664.         TSTRING008(2) = "@X4F FLAG @X07"
  665.         TSTRING009(2) = "F"
  666.         TSTRING010(2) = "flag"
  667.         TSTRING007(3) = "@X08 View @X07"
  668.         TSTRING008(3) = "@X4F VIEW @X07"
  669.         TSTRING009(3) = "V"
  670.         TSTRING010(3) = "view"
  671.         TSTRING007(4) = "@X08 NStop @X07"
  672.         TSTRING008(4) = "@X4F NSTOP @X07"
  673.         TSTRING009(4) = "N"
  674.         TSTRING010(4) = "nstop"
  675.         TSTRING007(5) = "@X08 Stop @X07"
  676.         TSTRING008(5) = "@X4F STOP @X07"
  677.         TSTRING009(5) = "S"
  678.         TSTRING010(5) = "stop"
  679.     Endif
  680.     If (Exist(STRING032)) Then
  681.         FOpen 1, STRING032, 0, 2
  682.         FDefIn 1
  683.         FDGet STRING011
  684.         FDGet STRING033
  685.         BYTE005 = S2I(STRING033, 10)
  686.         FDGet STRING033
  687.         BYTE006 = S2I(STRING033, 10)
  688.         If (BYTE006) Then
  689.             Redim TSTRING012, BYTE006 + 1
  690.             Redim TSTRING013, BYTE006 + 1
  691.             Redim TSTRING014, BYTE006 + 1
  692.             Redim TSTRING015, BYTE006 + 1
  693.             Redim TBYTE004, BYTE006 + 1
  694.             For BYTE025 = 1 To BYTE006
  695.                 FDGet TSTRING012(BYTE025)
  696.                 FDGet TSTRING013(BYTE025)
  697.                 FDGet TSTRING014(BYTE025)
  698.                 FDGet TSTRING015(BYTE025)
  699.             Next
  700.             FClose 1
  701.         Else
  702.             End
  703.         Endif
  704.     Else
  705.         STRING011 = "@X08[@X0FFlag Cmds@X08] @X07"
  706.         BYTE005 = 0
  707.         BYTE006 = 3
  708.         Redim TSTRING012, 3
  709.         Redim TSTRING013, 3
  710.         Redim TSTRING014, 3
  711.         Redim TSTRING015, 3
  712.         Redim TBYTE004, 3
  713.         TSTRING012(1) = "@X08 Flag @X07"
  714.         TSTRING013(1) = "@X4F FLAG @X07"
  715.         TSTRING014(1) = "F"
  716.         TSTRING015(1) = "flag"
  717.         TSTRING012(2) = "@X08 View @X07"
  718.         TSTRING013(2) = "@X4F VIEW @X07"
  719.         TSTRING014(2) = "V"
  720.         TSTRING015(2) = "view"
  721.         TSTRING012(3) = "@X08 Quit @X07"
  722.         TSTRING013(3) = "@X4F QUIT @X07"
  723.         TSTRING014(3) = "Q"
  724.         TSTRING015(3) = "quit"
  725.     Endif
  726.     BOOLEAN003 = 0
  727.     RestScrn
  728.     ClrEol
  729.  
  730.     EndProc
  731.  
  732.  
  733. ;------------------------------------------------------------------------------
  734.  
  735.     Procedure PROC012()
  736.  
  737.     String   STRING034
  738.  
  739.     STRING034 = "@X0FEnhanced Flag v2.2 by Drew [PWA]@X07"
  740.     DefColor
  741.     Print Chr(27) + "[u"
  742.     ClrEol
  743.     Print Chr(13)
  744.     Print Space((79 - Len(StripAtx(STRING034))) / 2) + STRING034
  745.     Delay 35
  746.  
  747.     EndProc
  748.  
  749.  
  750. ;------------------------------------------------------------------------------
  751.  
  752.     Procedure PROC013()
  753.  
  754.     If (Exist(PPEPath() + "EFLAG.HLP")) Then
  755.         SaveScrn
  756.         DispFile PPEPath() + "EFLAG.HLP", 0
  757.         RestScrn
  758.         BOOLEAN003 = 1
  759.     Endif
  760.  
  761.     EndProc
  762.  
  763.  
  764. ;------------------------------------------------------------------------------
  765.  
  766.     Function FUNCTION003() Boolean
  767.  
  768.     Byte     BYTE026
  769.     Byte     BYTE027
  770.     Byte     BYTE028
  771.     Boolean  BOOLEAN012
  772.     String   STRING035
  773.     Boolean  BOOLEAN013
  774.  
  775.     STRING035 = PPEPath() + "YESNO.CFG"
  776.     STRING001 = ReadLine(STRING035, 1)
  777.     STRING002 = ReadLine(STRING035, 2)
  778.     STRING003 = ReadLine(STRING035, 3)
  779.     STRING004 = ReadLine(STRING035, 4)
  780.     STRING005 = ReadLine(STRING035, 5)
  781.     Print STRING001
  782.     BYTE028 = GetX()
  783.     BYTE026 = 0
  784.     PROC014(BYTE026, BYTE028)
  785.     BOOLEAN012 = 0
  786.     :LABEL017
  787.     If (BOOLEAN012) Goto LABEL018
  788.     BYTE027 = Asc(Inkey())
  789.     Delay 1
  790.     Select Case (BYTE027)
  791.         Case 13
  792.             BOOLEAN012 = 1
  793.         Case 76, 52, 85, 56
  794.             BYTE026 = !BYTE026
  795.             PROC014(BYTE026, BYTE028)
  796.         Case 82, 54, 68, 50
  797.             BYTE026 = !BYTE026
  798.             PROC014(BYTE026, BYTE028)
  799.         Case 89, 121
  800.             BYTE026 = 1
  801.             BOOLEAN012 = 1
  802.             PROC014(BYTE026, BYTE028)
  803.         Case 78, 110
  804.             BYTE026 = 0
  805.             BOOLEAN012 = 1
  806.             PROC014(BYTE026, BYTE028)
  807.     End Select
  808.     Goto LABEL017
  809.     :LABEL018
  810.     Print Chr(13)
  811.     ClrEol
  812.     Print Chr(13)
  813.     FUNCTION003 = BYTE026
  814.  
  815.     EndFunc
  816.  
  817.  
  818. ;------------------------------------------------------------------------------
  819.  
  820.     Procedure PROC014(Boolean BOOLEAN013, Byte BYTE029)
  821.  
  822.     Byte     BYTE030
  823.  
  824.     Print Chr(13)
  825.     Forward BYTE029 - 1
  826.     If (BOOLEAN013) Then
  827.         Print STRING002 + STRING005
  828.     Else
  829.         Print STRING004
  830.         BYTE030 = GetX()
  831.         Print STRING003
  832.         Backup GetX() - BYTE030
  833.     Endif
  834.  
  835.     EndProc
  836.  
  837.  
  838. ;------------------------------------------------------------------------------
  839. ;
  840. ; Usage report (before postprocessing)
  841. ;
  842. ; ■ Statements used :
  843. ;
  844. ;    6       End
  845. ;    15      ClrEol
  846. ;    156     Goto 
  847. ;    170     Let 
  848. ;    40      Print 
  849. ;    92      If 
  850. ;    1       DispFile 
  851. ;    2       FOpen 
  852. ;    2       FClose 
  853. ;    2       StartDisp 
  854. ;    1       GetUser
  855. ;    3       DefColor
  856. ;    4       Delay 
  857. ;    6       Inc 
  858. ;    3       Dec 
  859. ;    11      KbdStuff 
  860. ;    2       DispStr 
  861. ;    1       WrUNet 
  862. ;    1       Backup 
  863. ;    5       Forward 
  864. ;    4       SaveScrn
  865. ;    3       RestScrn
  866. ;    2       FDefIn 
  867. ;    14      FDGet 
  868. ;    21      Redim 
  869. ;    1       ScrFile 
  870. ;    14      EndProc
  871. ;    3       EndFunc
  872. ;
  873. ;
  874. ; ■ Functions used :
  875. ;
  876. ;    1       /
  877. ;    70      +
  878. ;    10      -
  879. ;    73      ==
  880. ;    7       <>
  881. ;    7       <
  882. ;    4       <=
  883. ;    6       >
  884. ;    8       >=
  885. ;    96      !
  886. ;    18      &&
  887. ;    27      ||
  888. ;    3       Len(
  889. ;    9       Lower()
  890. ;    3       Space()
  891. ;    35      Chr()
  892. ;    4       Asc()
  893. ;    4       StripAtx()
  894. ;    3       Inkey()
  895. ;    3       String()
  896. ;    7       PPEPath()
  897. ;    1       PcbNode()
  898. ;    10      ReadLine()
  899. ;    1       UN_Name()
  900. ;    1       UN_City()
  901. ;    5       Exist()
  902. ;    6       S2I()
  903. ;    5       GetX()
  904. ;    2       GetY()
  905. ;    1       ScrText()
  906. ;
  907. ;------------------------------------------------------------------------------
  908. ;
  909. ; Analysis flags : No flag
  910. ;
  911. ;------------------------------------------------------------------------------
  912. ;
  913. ; Postprocessing report
  914. ;
  915. ;    4       For/Next
  916. ;    3       While/EndWhile
  917. ;    35      If/Then or If/Then/Else
  918. ;    6       Select Case
  919. ;
  920. ;------------------------------------------------------------------------------
  921. ;                 AEGiS Corp - Break the routines, code against the machines!
  922. ;------------------------------------------------------------------------------
  923.